/*
 * TDS PEC 4
 * Grupo 3H2M
 *
 * El paquete <code>edu.uoc.tds.pec4.beans</code> contiene la implementación de
 * los Data Transfer Object, que representan los mapeos de objetos contra las tablas
 * de la base de datos.<br />Esto permite que las diferentes capas de la aplicación puedan
 * comunicarse enviando objetos DTO que encapsulen la información.<br />
 *
 * Todos los DTO extienden la clase abstracta <code>DTO</code>
 */
package edu.uoc.tds.pec4.beans;

/**
 * La clase <code>UsuarioDTO</code> representa el objeto DTO relativo a
 * la entidad usuario.<br />
 *
 * @author	Luis Rivas Mariño
 * @version	24/11/2011
 * @see		edu.uoc.tds.pec4.beans.DTO
 */
public class UsuarioDTO extends DTO{

    private String idUsuario;
    private String nif;
    private String password;
    private String nomUsuario;
    private String apellidos;
    private String domicilio;
    private Integer idCiudad;
    private String codPostal;
    private String telefono;
    private String movil;
    private String fax;
    private String eMail;
    private String cc;
    private Boolean logado;
    private Integer inactivo;
    // Atributos foráneos
    private String nomCiudad;
    private String nomProvincia;
    private String nomPais;
   
    /**
     * Constructor de Usuario
     *
     */
    public UsuarioDTO() {
        super();
    }

    public String getIdUsuario() {
        return idUsuario;
    }

    public void setIdUsuario(String idUsuario) {
        this.idUsuario = idUsuario;
    }

    public String getNIF() {
        return nif;
    }

    public void setNIF(String nif) {
        this.nif = nif;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    public String getNomUsuario() {
        return nomUsuario;
    }

    public void setNomUsuario(String nomUsuario) {
        this.nomUsuario = nomUsuario;
    }
    
    public String getApellidos(){
        return apellidos;
    }
    
    public void setApellidos(String apellidos){
        this.apellidos = apellidos;
    } 
    
    public String getDomicilio(){
        return domicilio;
    }
    
    public void setDomicilio(String domicilio){
        this.domicilio = domicilio;
    } 
    
    public Integer getIdCiudad(){
        return idCiudad;
    }
    
    public void setIdCiudad(Integer idCiudad){
        this.idCiudad = idCiudad;
    }    

    public String getCodPostal() {
        return codPostal;
    }

    public void setCodPostal(String codPostal) {
        this.codPostal = codPostal;
    }
    
    public String getCC() {
        return cc;
    }

    public void setCC(String cc) {
        this.cc = cc;
    }
    
    public String getTelefono() {
        return telefono;
    }

    public void setTelefono(String telefono) {
        this.telefono = telefono;
    }
    
    public String getMovil() {
        return movil;
    }

    public void setMovil(String movil) {
        this.movil = movil;
    }
    
    public String getFax() {
        return fax;
    }

    public void setFax(String fax) {
        this.fax = fax;
    }    

    public String getEMail() {
        return eMail;
    }

    public void setEMail(String eMail) {
        this.eMail = eMail;
    }
    
    public Boolean getLogado(){
        return logado;
    }
    
    public void setLogado(Boolean logado){
        this.logado = logado;
    }
    
    public Integer getInactivo(){
        return inactivo;
    }
    
    public void setInactivo(Integer inactivo){
        this.inactivo = inactivo;
    }
        // Atributos foráneos
    public String getNomCiudad() {
        return nomCiudad;
    }

    public void setNomCiudad(String nomCiudad) {
        this.nomCiudad = nomCiudad;
    }

    public String getNomPais() {
        return nomPais;
    }

    public void setNomPais(String nomPais) {
        this.nomPais = nomPais;
    }

    public String getNomProvincia() {
        return nomProvincia;
    }

    public void setNomProvincia(String nomProvincia) {
        this.nomProvincia = nomProvincia;
    }
    /**
     * Indicates whether some other object is "equal to" this one.
     * @param	obj the reference object with which to compare.
     * @return	Returns true if this object is the same as the obj argument;
     *          false otherwise.
     */
    @Override
    public boolean equals(Object obj) {
        boolean igual = false;
        if (obj != null) {
            if (obj instanceof UsuarioDTO) {
                igual = this.getIdUsuario().equals(((UsuarioDTO) obj).getIdUsuario());
            }
        }
        return igual;
    }

    @Override
    public int hashCode() {
        int hash = 3;
        hash = 23 * hash + (this.idUsuario != null ? this.idUsuario.hashCode() : 0);
        return hash;
    }
    
    
    @Override
    public String toString() {
        return nomUsuario;
    }
}
